home *** CD-ROM | disk | FTP | other *** search
/ MacFormat 1995 January / macformat-020.iso / Shareware City / Applications / Alpha.5.96 folder / Tcl / SystemCode / AlphaBits.tcl next >
Encoding:
Text File  |  1994-09-21  |  6.0 KB  |  236 lines  |  [TEXT/ALFA]

  1. if {[regexp {[]\(\)\"\{\}\[]} $HOME]} {alertnote "Alpha may not work properly if it's pathname includes parenthesis, square brackets, double quotes, or curly braces."}
  2.  
  3. # Get name Alpha's current name.
  4. foreach p [processes] {
  5.     if {[lindex $p 1] == "ALFA"} {
  6.         set ALPHA [lindex $p 0]
  7.         break
  8.     }
  9. }
  10.  
  11. set optionIsMeta     1
  12. set emacsBindings    1
  13.  
  14. # Icon menu names. The number refers to the resource id of the #ics family.
  15. #set fsetMenuName     "SetFiles"
  16. set fsetMenuName     "•129"
  17. set helpMenu        "•130"
  18. set winMenu         "•263"
  19.  
  20. set tclMenu            "•269"
  21. set thinkMenu         "•300"
  22. set cwarrierMenu    "•268"
  23. set cwdebugMenu        "•274"
  24. set latexMenu        "•270"
  25. set thinkRefMenu    "•265"
  26. set perlMenu         "•132"
  27. set terrMenu        "•271"
  28. set toolserverMenu    "•133"
  29.  
  30. # A few definitions I'll need later.
  31. proc quoteExpr str {
  32.     regsub -all {\\} $str {\\\\} str
  33.     regsub -all {\|} $str {\|} str
  34.     regsub -all {\*} $str {\\*} str
  35.     regsub -all {\+} $str {\\+} str
  36.     regsub -all {\(} $str {\\(} str
  37.     regsub -all {\)} $str {\\)} str
  38.     regsub -all {\[} $str {\\[} str
  39.     regsub -all {\]} $str {\\]} str
  40.     return $str
  41. }
  42.  
  43. proc quoteExpr2 str {
  44.     regsub -all {\\} $str {\\\\} str
  45.     regsub -all {\|} $str {\|} str
  46.     regsub -all {\*} $str {\\*} str
  47.     regsub -all {\+} $str {\\+} str
  48.     regsub -all {\(} $str {\\(} str
  49.     regsub -all {\)} $str {\\)} str
  50.     regsub -all {\{} $str "\\\{" str
  51.     regsub -all {\}} $str "\\\}" str
  52.     regsub -all {\[} $str {\\[} str
  53.     regsub -all {\]} $str {\\]} str
  54.     return $str
  55. }
  56.  
  57. source ":Tcl:SystemCode:menus.tcl"
  58.  
  59. if {$emacsBindings} {
  60.     source ":Tcl:SystemCode:emacs.tcl"
  61. } else {
  62.     source ":Tcl:SystemCode:vi.tcl"
  63. }
  64.  
  65.  
  66. bind Left  backwardChar
  67. bind Left <c> beginningOfLine
  68. bind Left <s> backwardCharSelect
  69. bind Left <sc> beginningLineSelect
  70. bind Left <z> {scrollLeftCol 15}
  71. bind Left <o> backwardWord
  72. bind Left <os> backwardWordSelect
  73.  
  74. bind Right  forwardChar
  75. bind Right <c> endOfLine
  76. bind Right <s> forwardCharSelect
  77. bind Right <sc> endLineSelect
  78. bind Right <z> {scrollRightCol 15}
  79. bind Right <o> forwardWord
  80. bind Right <os> forwardWordSelect
  81.  
  82. bind Up  previousLine
  83. bind Up <s> prevLineSelect
  84. bind Up <c> beginningOfBuffer
  85. bind Up <sc> beginningBufferSelect
  86. bind Up <z> scrollUpLine
  87. bind Up <o> scrollUpLine
  88.  
  89. bind Down  nextLine
  90. bind Down <c> endOfBuffer
  91. bind Down <s> nextLineSelect
  92. bind Down <sc> endBufferSelect
  93. bind Down <z> scrollDownLine
  94. bind Down <o> scrollDownLine
  95.  
  96. bind ',' <z> pushMark
  97. bind '.' <z> popMark
  98.  
  99. # Keypad definitions
  100. bind KPad4  backwardWord                 
  101. bind KPad4   <c> backwardDeleteWord 
  102. bind KPad6   forwardWord                 
  103. bind KPad6   <c> deleteWord 
  104. bind Clear   insertToTop                 
  105. # Never bind Keypad /
  106. # Never bind Keypad *
  107. bind KPad0   pageBack                     
  108. bind Enter   pageForward
  109. ;bind KPad3   repeatSearchForward         
  110. ;bind KPad1   repeatSearchBackward     
  111. bind Kpad1 prevFunc
  112. bind Kpad3 nextFunc
  113. bind KPad.   endOfBuffer                 
  114. bind KPad5   exchangePointAndMark     
  115. bind KPad7   backwardDeleteWord         
  116. bind KPad9   deleteWord                 
  117. bind 's' <z>     isearch            
  118. bind 'r' <z>     rsearch            
  119. bind 'a' <z>     beginningOfLine    
  120. bind 'b' <z>     backwardChar        
  121. bind 'd' <z>     deleteChar        
  122. bind 'f' <z>     forwardChar        
  123. bind 'e' <z>     endOfLine        
  124. bind 'g' <z>     abortEm            
  125. bind 'k' <z>     killLine            
  126. bind 'l' <z>    centerRedraw
  127. bind 't' <z>     insertToTop        
  128. bind 'p' <z>     previousLine        
  129. bind 'n' <z>     nextLine            
  130. bind 'o' <z>     openLine            
  131. bind 'u' <z>     iterationCount    
  132. bind 'v' <z>     pageForward        
  133. bind 'v' <e>     pageBack
  134. bind 'z' <z>     pageBack
  135. bind 'w' <z>     cut            
  136. bind 'w' <e>     copy
  137. bind "' '" <z>     setMark
  138. bind 'y' <z>     yank                
  139. bind '1' <z>    execAbbrev
  140.  
  141. # Alpha variable and flag definitions.
  142. set temp [getMainDevice]
  143. set tileWidth [expr {[lindex $temp 2] - [lindex $temp 0] - 10}]
  144. if {$tileWidth > 510} {set defWidth 510} else {set defWidth $tileWidth }
  145. set tileHeight [expr [lindex $temp 3] - [lindex $temp 1] - 62]
  146. set defHeight $tileHeight
  147. unset temp
  148.  
  149. source ":Tcl:SystemCode:definitions.tcl"
  150.  
  151.  
  152. bind F1         iconify                     
  153. #bind  <c> F1     wordCompletion 
  154. bind F2         cut                         
  155. bind F3         copy                         
  156. bind F4         yank                         
  157. bind F5         prevWindow
  158. bind F6            nextWindow
  159. bind F7            tiled
  160. bind F8            swapWithNext
  161. bind F9         pushMark
  162. bind F10        popMark
  163. bind F11        shrinkHigh
  164. bind F12        shrinkLow
  165. bind F13        startKeyboardMacro         
  166. bind F14        endKeyboardMacro             
  167. bind F15        executeKeyboardMacro         
  168.  
  169. bind Del        deleteChar                 
  170. bind Help       alphaHelp                     
  171. bind Home       beginningOfBuffer             
  172. bind End        endOfBuffer                 
  173. bind Pgup       pageBack                     
  174. bind Pgdn       pageForward                  
  175.  
  176. proc debug {} {
  177.     uplevel #0 {
  178.         set debugging 1
  179.     }
  180. }
  181.  
  182. # Load electric alias, rebind tcl file completion for precedence.
  183. proc loadElectricAlias {} {
  184.     global HOME
  185.     uplevel #0 {
  186.         source "$HOME:Tcl:ElectricAlias:electricAlias.tcl"
  187.     }
  188.     message "ElectricAlias loaded."
  189.     bind '\t' tclFileCompletion "Csh"
  190.     enableMenuItem -m install "Electric Alias" off
  191. }
  192.  
  193.  
  194. source "$HOME:Tcl:SystemCode:procs.tcl"
  195. source "$HOME:Tcl:SystemCode:flags.tcl"
  196. source "$HOME:Tcl:SystemCode:modes.tcl"
  197. source "$HOME:Tcl:SystemCode:filesets.tcl"
  198. source "$HOME:Tcl:SystemCode:copyRing.tcl"
  199. source "$HOME:Tcl:SystemCode:latexMode.tcl"
  200. source "$HOME:Tcl:SystemCode:bibtexMode.tcl"
  201. set auto_path [list $HOME:Tcl:SystemCode $HOME:Tcl:UserCode]
  202. source ":Tcl:SystemCode:library.tcl"
  203.  
  204. # Use "userStartup.tcl" to define or change any tcl information. */
  205. if {[catch {source ":userStartup.tcl"}]} {
  206.     alertnote "An error occurred while loading UserStartup.tcl"
  207. }
  208.  
  209. # source {PowerPete:Desktop Folder:down:phm:modeprocs.tcl}
  210. # source {PowerPete:Desktop Folder:down:phm:modes.tcl}
  211.  
  212.  
  213. # Should be last so all filesets make it in.
  214. makeFilesetMenu
  215.  
  216. menu -n choose -m -p changeFileSet [lsort [array names fileSets]]
  217. markMenuItem -m choose $currFileSet on
  218.  
  219. set modes [lsort $modes]
  220. buildFlagsVars
  221.  
  222. if {![info exists initchoice]} {
  223.     if {[askyesno "Do you use a U.S. keyboard?"] == "yes"} {
  224.         set res 0
  225.     } else {set res 1}
  226.  
  227.     addUserLine "\r\# The next two lines set up your choice for US vs international keyboard."
  228.     addUserLine "\# If you want to change this choice, remove the lines, restart Alpha, and"
  229.     addUserLine "\# register your new choice."
  230.     addUserLine "set initchoice 1"
  231.     addUserLine "init $res 2\r"
  232.     init $res 2
  233. }
  234.  
  235. message "Initialization Complete"
  236.